//#include<bits/stdc++.h>
//using namespace std;
//
//const int N = 1e5;
//int n, dp[N], res=0, a[105];
//
//int hz(int x, int y)
//{
//	int z = y;
//	while(x % y != 0)
//	{
//		z = x % y;
//		x = y;
//		y = z;
//	}
//	return z;
//}
//
//int main()
//{
//	cin >> n;
//	for(int i=0; i<n; i++)
//	{
//		cin >> a[i];
//	}
//	
//	int g = hz(a[0], a[1]);
//	for(int i=2; i<n; i++)
//	{
//		g = hz(g, a[i]);
//	}
//	
//	if(g!=1)
//	{
//		cout << "INF" << endl;
//	}
//	else
//	{
//		dp[0] = 1;
//
//		for(int i=0; i<n; i++)
//		{
//			for(int j=0; j+a[i]<N; j++)
//			{
//				if(dp[j] == 1)
//					dp[j+a[i]] = 1;
//			}
//		}
//		for(int i=0; i<N; i++)
//		{
//			if(dp[i] == 0)
//			{
//				res++;
//			}
//		}
//		cout << res << endl;
//	}
//}


#include<bits/stdc++.h>
using namespace std;

const int N = 1e5;
int a[105], n, res=0, dp[100005];

int hz(int x, int y)
{
	int z = y;
	while(x % y != 0)
	{
		z = x%y;
		x = y;
		y = z;
	}
	return z;
}

int main()
{
	cin >> n;
	for(int i=1; i<=n; i++)
	{
		cin >> a[i];
		dp[a[i]]++;
	}
	
	int g = hz(a[1], a[2]);
	for(int i=3; i<=n; i++)
	{
		g = hz(g, a[i]);	
	}	
	if(g!=1)
	{
		cout << "INF" << endl;
		return 0;
	}
	
	for(int i=1; i<N; i++)
	{
		for(int j=1; j<=n; j++)
		{
			if(i-a[j]<0)
				continue;
			dp[i] = dp[i-a[j]] + dp[i];
			if(dp[i]!=0)
				break;
		}
		if(dp[i] == 0)
		{
			res++;
		}
	}
	cout << res << endl;
	return 0;
}